package com.regentsoft.cloudback.enterpriseAdmin.service;

import com.regentsoft.cloudback.enterpriseAdmin.entity.MediaFile;
import com.regentsoft.cloudback.enterpriseAdmin.entity.ScreenMedia;
import com.regentsoft.cloudback.enterpriseAdmin.vo.req.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * Created by work on 2017/11/29.
 *
 * @author lumr
 */
public interface ExtraScreenService {
    /**
     * 批量获取媒体文件
     * @param query
     * @return
     */
    List<ScreenMedia> getScreenMedias(MediaQueryReq query);

    /**
     * 更新媒体文件
     * @param req
     * @param file
     * @return
     */
    boolean updateMedia(MediaUploadReq req, MultipartFile file);

    /**
     * 获取媒体文件字节流
     * @param req
     * @return
     */
    MediaFile downloadMedia(MediaDownLoadReq req);

    /**
     * 获取媒体文件字节流
     * @param companyId
     * @param fileName
     * @return
     */
    MediaFile downloadMedia(String companyId,String fileName);

    /**
     * 删除媒体文件
     * @param req
     * @return
     */
    boolean deleteMedia(MediaDeleteReq req);

    /**
     * 获取媒体文件的web静态资源url
     * @param req
     * @return
     */
    String getMediaUrl(MediaBaseReq req);

    /**
     * 获取媒体文件的web静态资源url
     * @param media
     * @return
     */
    String getMediaUrl(ScreenMedia media);
}
